With developments of computer hardware and software technology, storage devices such as hard drives are capable of providing a large number of users with an increasingly large data storage capacity, and speed of accessing these storage devices has also significantly improved. During usage of various applications, data copying and data migration are frequently involved, in which copy operation from a data source to a data target are typically performed. Generally as understood by one skilled in the art, data copying (or sometimes also referred to as data copy) refers to retaining data at a data source after completion of copying process, while data migration refers to deleting data at the data source after completion of the copying process.
Currently, data amount involved in various applications is becoming increasingly larger, for example, as large as dozens of gigabytes or even more. The frequency of executing data copy has been showing trends of gradually increasing. For example, database systems of enterprises such as banks might perform data backup regularly based on the decision, such as per day, per hour, or event at higher frequency, so that efficiency of data backup becomes one of the important factors that affect the operating efficiency of computer systems.
Although such technical solutions have been developed as recording the difference between a current version of a to-be-copied data source and its previous backup version by using record element sets such as metadata and bitmap, these technical solutions fail to make sufficient use of various resources as a function of time; and moreover, since the to-be-copied data might be divided into data blocks having improper sizes, occurrences of making copy via a copy buffer and/or occurrences of read/write to hardware devices are increased, and further the efficiency of data copy is lowered.